//修改isOpen状态模型
export interface UpdateIsOpenInPut {
    //key集合
    Keys: string[],
    //是否开启
    IsOpen: boolean
}

//角色菜单扩展模型
export interface RoleMenuExend {
    //角色id
    roleId: number | undefined | string,

    //全选菜单key
    menuIds: [],

    //半选菜单key
    isHalfMenuIds: []
}

//角色按钮扩展模型
export interface RoleButtonExend {
    //角色id
    roleId: number | undefined | string,

    //全选按钮key
    buttonIds: [],
}

//用户角色模型
export interface UserRoleInput {
    //用户id
    UserId: number | undefined | string,

    //角色key
    RoleId: []
}
//角色用户模型
export interface RoleUserInput {
    //角色id
    roleId: number | undefined | string,

    //用户key
    userId: []
}

//菜单角色数据模型
export interface menuOrRoleOutPut {
    //菜单key
    menuKey: string,
    //角色key
    roleKey: number,
    //是否下级角色菜单
    subordinateRoleMenu: boolean
}

//按钮角色数据模型
export interface buttonOrRoleOutPut {
    //按钮key
    buttonKey: string,
    //角色key
    roleKey: number,
    //是否下级角色菜单按钮
    subordinateRoleButton: boolean
}

//基础分页模型
export interface basePageModel {
    currentPage: number, //当前页
    pageSize: number,   //每页条数
    total: number,   //总数
}

// 分页模型
export interface pageModel extends basePageModel {
    pageSizes: number[], //每页显示数显示设置
    layout: string,  //组件布局，子组件名用逗号分隔
    background: boolean,   //是否给分页按钮添加背景色
    disabled: boolean,  //是否禁用分页按钮
    small: boolean,  //是否使用小型分页样式
}

//分页配置
export const pageCofing: pageModel = {
    pageSizes: [15, 30, 45, 60],  //每页显示数显示设置
    layout: "total, sizes, prev, pager, next, jumper",  //组件布局，子组件名用逗号分隔
    background: true,   //是否给分页按钮添加背景色
    disabled: false,  //是否禁用分页按钮
    small: true,  //是否使用小型分页样式
    currentPage: 1, //当前页
    pageSize: 15,   //每页条数
    total: 0,   //总数
}

//按钮输出模型
export interface SysButtonDataOutPut {
    /// <summary>
    /// 按钮id
    /// </summary>
    ButtonId: string

    /// <summary>
    /// 按钮样式id
    /// </summary>
    ButtonStyleId: string

    /// <summary>
    /// 按钮类型
    /// </summary>
    ButtonRoleType: number

    /// <summary>
    /// 菜单id
    /// </summary>
    MenuId: string

    /// <summary>
    /// 按钮名称
    /// </summary>
    ButtonName: string

    /// <summary>
    /// 公司key
    /// </summary>
    CorporationKey: string

    /// <summary>
    /// 公司名称
    /// </summary>
    CorporationName: string

    /// <summary>
    /// 系统key
    /// </summary>
    SystemKey: string

    /// <summary>
    /// 系统名称
    /// </summary>
    SystemName: string

    /// <summary>
    /// 按钮事件key
    /// </summary>
    ButtonKey: string

    /// <summary>
    /// 所属菜单
    /// </summary>
    MenuName: string

    /// <summary>
    /// 样式名称
    /// </summary>
    ButtonStyleName: string

    /// <summary>
    /// 图标
    /// </summary>
    Icon: string

    /// <summary>
    /// 按钮大小  lg sm xs
    /// </summary>
    Size: string

    /// <summary>
    /// 按钮颜色
    /// </summary>
    Color: string

    /// <summary>
    /// 文本颜色
    /// </summary>
    TextColor: string

    /// <summary>
    /// 按钮类型
    /// </summary>
    Types: string

    /// <summary>
    /// 是否文字按钮
    /// </summary>
    IsText: boolean

    /// <summary>
    /// 是否圆角按钮
    /// </summary>
    IsRound: boolean

    /// <summary>
    /// 是否为圆形按钮
    /// </summary>
    IsCircle: boolean

    /// <summary>
    /// 是否为朴素按钮
    /// </summary>
    IsPlain: boolean

    /// <summary>
    /// 是否链接按钮
    /// </summary>
    IsLink: boolean

    /// <summary>
    /// 是否禁用按钮
    /// </summary>
    IsDisabled: boolean

    /// <summary>
    /// 规则ID
    /// </summary>
    RuleId: string

    /// <summary>
    /// 解析后的规则
    /// </summary>
    AnalysisRule: string

    /// <summary>
    /// 创建时间
    /// </summary>
    CreateTime: string

    /// <summary>
    /// 创建人员
    /// </summary>
    CreateUser: string

    /// <summary>
    /// 创建人姓名
    /// </summary>
    UserName: string

    /// <summary>
    /// 排序
    /// </summary>
    OrderBy: string
}


/// <summary>
/// 修改数据状态输入模型
/// </summary>
export interface UpdateDataStateInput {
    /// <summary>
    /// 主键
    /// </summary>
    Ids: string[];

    /// <summary>
    /// 数据状态
    /// </summary>
    DataState: number;
}
